package com.ruoyi.spot.realtime.kline.mapper;

import java.util.List;

import com.ruoyi.spot.openapi.currencyPair.domain.SpotCurrencyPair;
import com.ruoyi.spot.realtime.kline.domain.SpotKlineRealtimeData;
import com.ruoyi.spot.realtime.kline.domain.VO.SpotKlineRealtimeDataVO;
import org.apache.ibatis.annotations.Param;

/**
 * 实时K线监控Mapper接口
 *
 * @author saumell
 * @date 2024-07-31
 */
public interface SpotKlineRealtimeDataMapper {
    /**
     * 查询实时K线监控
     *
     * @param id 实时K线监控主键
     * @return 实时K线监控
     */
    public SpotKlineRealtimeDataVO selectSpotKlineRealtimeDataById(Long id);

    /**
     * 查询实时K线监控列表
     *
     * @param spotKlineRealtimeData 实时K线监控
     * @return 实时K线监控集合
     */
    public List<SpotKlineRealtimeDataVO> selectSpotKlineRealtimeDataList(SpotKlineRealtimeDataVO spotKlineRealtimeData);

    /**
     * 新增实时K线监控
     *
     * @param spotKlineRealtimeData 实时K线监控
     * @return 结果
     */
    public int insertSpotKlineRealtimeData(SpotKlineRealtimeData spotKlineRealtimeData);

    /**
     * 修改实时K线监控
     *
     * @param spotKlineRealtimeData 实时K线监控
     * @return 结果
     */
    public int updateSpotKlineRealtimeData(SpotKlineRealtimeData spotKlineRealtimeData);

    /**
     * 删除实时K线监控
     *
     * @param id 实时K线监控主键
     * @return 结果
     */
    public int deleteSpotKlineRealtimeDataById(Long id);

    /**
     * 批量删除实时K线监控
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSpotKlineRealtimeDataByIds(Long[] ids);

    List<SpotCurrencyPair> queryDatabasedata();

    void addnewcurrency_pair(String currencyPair);

    void deletenewcurrency_pair(String currencyPair);

    List<SpotKlineRealtimeDataVO> selectSpotAllData();

    Integer queryCurryNumber(@Param("currencyPair") String currencyPair);

    int queryabiosisbycurrency(@Param("name") String name);

// ==================== 请将以下代码块添加到接口中 ====================
    /**
     * 查询所有的交易对（无论状态）
     * @return 所有交易对列表
     */
    List<SpotCurrencyPair> queryAllDatabasedata();

    /**
     * 重新激活一个已存在的交易对
     * @param currencyPair 交易对名称
     */
    void reactivateCurrencyPair(@Param("currencyPair") String currencyPair);
}
